ãã°ã®é²æ¢ãã»ãã¥ãªãã£ã®åŒ·åãããã°ããŒãã«ãªèŠèŽè åãã®å¹ççãªéçºãŸã§ãã²ãŒã æ¥çã«ãããåå®å šæ§ã®éèŠãªåœ¹å²ãæ¢ããŸãã
ã€ã³ã¿ã©ã¯ãã£ããšã³ã¿ãŒãã€ã³ã¡ã³ãïŒåå®å šæ§ã«ããã²ãŒã éçºã®ã¬ãã«åäž
ã°ããŒãã«ãªã²ãŒã æ¥çã¯ã巚倧ã§åžžã«æ¡å€§ãç¶ãããšã³ã·ã¹ãã ã§ããã驿°ãåžžã«å¯èœæ§ã®å¢çãæŒãåºããŠããŸããæ²¡å ¥åã®ã·ã³ã°ã«ãã¬ã€ã€ãŒåäºè©©ããåºå€§ãªãªã³ã©ã€ã³ãã«ããã¬ã€ã€ãŒã®äžçãŸã§ãã€ã³ã¿ã©ã¯ãã£ããšã³ã¿ãŒãã€ã³ã¡ã³ãã¯ãã·ãŒã ã¬ã¹ã§é åçãªäœéšãæäŸããããã«è€éãªãœãããŠã§ã¢ã·ã¹ãã ã«äŸåããŠããŸãããããã®è€éãªã·ã¹ãã ãéçºããäžã§äžå¿ãšãªãã®ã¯ãåºæ¬çãªããããã°ãã°éå°è©äŸ¡ãããŠããæŠå¿µãåå®å šæ§ã§ããã°ããŒãã«ãªéçºè ãã¹ã¿ãžãªå¹¹éšã奜å¥å¿æºçãªæå¥œå®¶ã«ãšã£ãŠãã€ã³ã¿ã©ã¯ãã£ããšã³ã¿ãŒãã€ã³ã¡ã³ãã®åå®å šæ§ãçè§£ããããšã¯ãç§ãã¡ããã¬ã€ããäœæããã²ãŒã ã®å ç¢æ§ãšä¿¡é Œæ§ãçè§£ããããã«äžå¯æ¬ ã§ãã
ãã®å æ¬çãªèª¿æ»ã§ã¯ãã²ãŒã ã«ãããåå®å šæ§ãšã¯äœãããªããããçŸä»£ã®ã²ãŒã éçºã®éèŠãªæ±ãªã®ãããããããããå©ç¹ããããæç€ºãã課é¡ããããŠã²ãŒã äžçã®å€æ§ãªç¶æ³å šäœã§ã®å®è£ ã®ããã®å®è·µçãªæŠç¥ãæãäžããŠãããŸãã
ã€ã³ã¿ã©ã¯ãã£ããšã³ã¿ãŒãã€ã³ã¡ã³ãã®åå®å šæ§ãšã¯ïŒ
ãã®æ žå¿ã«ãããŠãåå®å šæ§ãšã¯ãããã°ã©ãã³ã°èšèªãŸãã¯ã·ã¹ãã ãåãšã©ãŒã鲿¢ãŸãã¯æ€åºããçšåºŠãæããŸããåãšã©ãŒã¯ãäºæãããããŒã¿åã§ã¯ãªãå€ã«å¯ŸããŠæäœãå®è¡ãããå Žåã«çºçããŸããããšãã°ãããã¹ãæååãæ°å€ã«è¿œå ããããšãããããã®ã¡ãœãããæããªããªããžã§ã¯ãã«å¯ŸããŠã¡ãœãããåŒã³åºãããšãããããå Žåã§ããã²ãŒã éçºã§ã¯ããããã®ãšã©ãŒã¯ã埮åŠãªã°ãªããã誀ã£ãèšç®ããã壿» çãªã²ãŒã ã®ã¯ã©ãã·ã¥ãã»ãã¥ãªãã£ã®è匱æ§ãŸã§ãããŸããŸãªåœ¢ã§çŸããå¯èœæ§ããããŸãã
ç°¡åãªäŸãèããŠã¿ãŸããããã²ãŒã ãã£ã©ã¯ã¿ãŒã®äœåã¯æŽæ°ãšããŠä¿åãããŸãããã°ã®ããã«ãéçºè ã誀ã£ãŠãcriticalãã®ãããªããã¹ãæååããã®äœå倿°ã«ä¿åããããšããå Žåãå®å šã§ãªãã·ã¹ãã ã¯ã¯ã©ãã·ã¥ãããããcriticalãããŒããšããŠæ±ãããäºæž¬äžå¯èœãªæäœãå®è¡ããå¯èœæ§ããããŸããåå®å šãªã·ã¹ãã ã¯ãã³ã³ãã€ã«äžãŸãã¯å²ãåœãŠã®æç¹ã§ãã®äžäžèŽãå³åº§ã«èå¥ãããšã©ãŒãããã«äŒæããã®ãé²ããŸãã
匷ãåä»ã vs. 匱ãåä»ã
- 匷ãåä»ãèšèªïŒãããã®èšèªã¯ãåã®äºææ§ã«é¢ããŠå³æ Œãªã«ãŒã«ãé©çšããŸãã倿°ãç¹å®ã®åã§å®£èšããããšããã®åãŸãã¯æç€ºçã«å€æå¯èœãªåã®å€ã®ã¿ãä¿æã§ããŸããã²ãŒã ã§äžè¬çã«äœ¿çšãããäŸã«ã¯ãC++ãC#ãJavaãRustãªã©ããããŸãããããã¯ãã²ãŒã ãå®è¡ãããåã«ãã³ã³ãã€ã«æã«å€ãã®åãšã©ãŒããã£ããããããå®å®ããäºæž¬å¯èœãªã³ãŒãã«ã€ãªãããŸãããã®å³æ Œãã¯ãæé»ã®åæãæç€ºçã«ããããšã§ãéçºè ã®èªç¥è² è·ã軜æžããŸãã
 - 匱ãåä»ãèšèªïŒãããã®èšèªã¯ããå¯å®¹ã§ãããå€ãã®å Žåãéçºè ã®æç€ºçãªæç€ºãªãã«æé»çãªå倿ãå®è¡ããŸããJavaScriptãšPythonã¯ãä¿¡ããããªãã»ã©æ±çšæ§ããããäžéšã®ã²ãŒã éçºã³ã³ããã¹ãã§ã¹ã¯ãªããã«äœ¿çšãããŠããŸããããã®äŸã§ããæè»æ§ãšè¿ éãªãããã¿ã€ãã³ã°ãæäŸããäžæ¹ã§ããã®å¯å®¹ãã¯è¿œè·¡ãé£ããã©ã³ã¿ã€ã ãšã©ãŒã«ã€ãªããå¯èœæ§ããããŸããããã¯ãèšèªãäºæããªãåäœãåŒãèµ·ãããã€ã³ããªãžã§ã³ãããªå€æã詊ã¿ãå¯èœæ§ãããããã§ããåé¡ãç¹å®ã®å®è¡ãã¹äžã«ã®ã¿è¡šé¢åããããããããã°ã¯å€§å¹ ã«è€éã«ãªãå¯èœæ§ããããŸãã
 
éçåä»ã vs. åçåä»ã
- éçåä»ãèšèªïŒåãã§ãã¯ã¯ã³ã³ãã€ã«äžã«çºçããŸããããã¯ãã³ã³ãã€ã©ãããã°ã©ã ã®å®è¡åã«ããã¹ãŠã®åã®äœ¿çšæ³ãæ£ããããšãæ€èšŒããããšãæå³ããŸããC++ãšC#ãé¡èãªäŸã§ããéçåä»ãã¯ãæ©æã®ãšã©ãŒæ€åºãããã©ãŒãã³ã¹äžã®å©ç¹ïŒåãäºåã«ããã£ãŠããããïŒãããã³ãªãã¡ã¯ã¿ãªã³ã°ãšã³ãŒãåæã®ããã®ããåªããããŒã«ãµããŒããæäŸããŸããã³ã³ãã€ã©ã¯ãåºæ¬çãªæ£ãããä¿èšŒããæåã®é²è¡ç·ãšããŠæ©èœããŸãã
 - åçåä»ãèšèªïŒåãã§ãã¯ã¯ã©ã³ã¿ã€ã ã«çºçããŸãã倿°ã®åã¯ãã³ãŒããå®è¡ããããšãã«ã®ã¿æ±ºå®ãããŸããPythonãšLuaïŒã²ãŒã ã¹ã¯ãªããã§äžè¬çïŒãäŸã§ããããã¯ããã倧ããªæè»æ§ãšããè¿ éãªãããã¿ã€ãã³ã°ãæäŸããŸãããåãšã©ãŒæ€åºã®è² æ ãã³ã³ãã€ã©ããã©ã³ã¿ã€ã ãã¹ãã«ç§»ããæœåšçã«é倧ãªã²ãŒã ãã¬ã€ã®ç¬éãŸãã¯ãšããžã±ãŒã¹ã§ãšã©ãŒãçºçããå¯èœæ§ããããŸããå æ¬çãªãã¹ãã¯ããã«éèŠã«ãªããŸãã
 
ãããã£ãŠãã€ã³ã¿ã©ã¯ãã£ããšã³ã¿ãŒãã€ã³ã¡ã³ãã®åå®å šæ§ãšã¯ãã²ãŒã ã®ããžãã¯ãæµããããŸããŸãªããŒã¿ïŒãã¬ã€ã€ãŒã®äœåãã¢ã€ãã IDããã£ã©ã¯ã¿ãŒã®äœçœ®ãåªæãã¡ãŒãžããããã¯ãŒã¯ãã±ãããç°å¢å€æ°ãªã©ïŒãåžžã«æ£ãããäºæãããåã§ããããšãä¿èšŒããã²ãŒã ã®æŽåæ§ãããã©ãŒãã³ã¹ããŸãã¯ãã¬ã€ã€ãŒãšã¯ã¹ããªãšã³ã¹ãæãªãå¯èœæ§ã®ãã誀解éãé²ãããã®èŠåŸã§ããããã¯ãè€éãªä»®æ³äžçã®ããã®å ç¢ãªããŒã¿åºç€ãæ§ç¯ããããšã§ãã
ãªãåå®å šæ§ãã²ãŒã éçºã«ãããéèŠãªæ±ãªã®ã
çŸä»£ã®ãããªã²ãŒã ã®è€éããšçžäºæ¥ç¶æ§ã«ãããåå®å šæ§ã¯åãªãè¯ãç¿æ £ã§ã¯ãªããäžå¯æ¬ ãªèŠä»¶ãšãªã£ãŠããŸããæ°çŸäžè¡ã®ã³ãŒããããŸããŸãªå€§éžã«ããæ°å人ã®åæãã¬ã€ã€ãŒãè€éãªçµæžããªã¢ã«ã¿ã€ã ã®æŠéãåããå€§èŠæš¡ãªãã«ããã¬ã€ã€ãŒãªã³ã©ã€ã³ããŒã«ãã¬ã€ã³ã°ã²ãŒã ïŒMMORPGïŒãèããŠã¿ãŠãã ãããéèŠãªã·ã¹ãã ã®åäžã®åãšã©ãŒã¯ãæ°çŸäžäººã®ãã¬ã€ã€ãŒã«åœ±é¿ãäžããã¹ã¿ãžãªã®è©å€ãæãªãå¯èœæ§ã®ãããé£éçã§å£æ» çãªåœ±é¿ãäžããå¯èœæ§ããããŸãã
ãã°ãšã¯ã©ãã·ã¥ã®é²æ¢
åå®å šæ§ã®æãçŽæ¥çã§æçœãªå©ç¹ã¯ãå€ãã®å Žåããã¹ãç°å¢ã«å°éããåã«ãèšå€§ãªæ°ã®ãã°ãé²ãããšãã§ããããšã§ããã²ãŒã ããã¬ã€ã€ãŒã®æ»æåã«æŽæ°ãæåŸ ããŠããããã³ãŒãã£ã³ã°ãšã©ãŒã®ããã«æååãåãåã£ããšããã·ããªãªãæ³åããŠãã ããã匱ãåä»ãã·ã¹ãã ã¯ãæååãæŽæ°ã«å€æããããšããå¯èœæ§ããããã0ãïŒãã¡ãŒãžãªãïŒãäºæããªã倧ããªæ°å€ïŒæµãã¯ã³ã·ã§ããïŒããŸãã¯å®å šãªã¯ã©ãã·ã¥ã«ã€ãªããå¯èœæ§ããããŸãã匷ãåä»ãã·ã¹ãã ã¯ãã³ã³ãã€ã«æã«ãã®ãšã©ãŒããã£ããããéçºè ããã¬ã€ã€ãŒã«å°éããåã«ä¿®æ£ããããšã匷å¶ããŸããããã«ãããæ¬¡ã®å¯èœæ§ãå€§å¹ ã«æžå°ããŸãã
- ã©ã³ã¿ã€ã äŸå€ïŒã²ãŒã ã®å®è¡ã忢ããäºæããªããšã©ãŒããã¬ã€ã€ãŒã«äžæºãäžããé²è¡ç¶æ³ã倱ãããŸãã
 - è«çãšã©ãŒïŒã¢ã€ãã ã®ã¹ããŒã¿ã¹ã®èª€ããç©ççãªçžäºäœçšã®èª€ã£ãèšç®ããŸãã¯æå³ãããšããã«ã¢ã¯ãã£ãåãããªãèœåãªã©ãã²ãŒã ã®ä»çµã¿ãæ£ããåäœããŠããŸããã
 - ã°ã©ãã£ã«ã«ãªã°ãªããïŒèª€ã£ãŠè§£éãããããŒã¿ããã¬ã³ããªã³ã°ã¢ãŒãã£ãã¡ã¯ããèŠèŠçãªæªã¿ããŸãã¯ã¢ã»ãããæ£ãã衚瀺ãããªãããšã«ã€ãªãããŸãã
 - ã¡ã¢ãªç ŽæïŒC++ã®ãããªèšèªã§ã¯ãåãšã©ãŒãšèª€ã£ãã¡ã¢ãªåŠçãçµã¿åããããšãé倧ãªã¡ã¢ãªç Žæã«ã€ãªããå¯èœæ§ããããããã¯ãããã°ãéåžžã«é£ããããšã¯ã¹ããã€ãã®æãéãå¯èœæ§ããããŸãã
 
ã»ãã¥ãªãã£ã®åŒ·å
åå®å šæ§ã¯ãç¹ã«ãããã¯ãŒã¯ç°å¢ãç«¶äºç°å¢ã«ãããŠãã²ãŒã ã»ãã¥ãªãã£ã«ãããŠéèŠãªåœ¹å²ãæãããŸããæªæã®ããæ»æè ã¯ãåè匱æ§ãæªçšããŠãäžåœãªå©çãåŸãããã²ãŒã ãã¬ã€ãäžæãããããããšããããããŸããããšãã°ããµãŒããŒããã¬ã€ã€ãŒå ¥åã«ç¹å®ã®ããŒã¿æ§é ãæåŸ ããŠãããããã®åãå³å¯ã«æ€èšŒããªãå Žåãæ»æè ã¯äžæ£ãªããŒã¿ãæ³šå ¥ããŠããŒã察çã¡ã«ããºã ããã€ãã¹ããããã²ãŒã ã®ç¶æ ãæäœãããïŒããšãã°ãèªåèªèº«ã«ç¡å¶éã®é貚ãŸãã¯äœåãäžããïŒããµãŒããŒã®äŸµå®³ã«ã€ãªããå¯èœæ§ã®ããã¡ã¢ãªç Žæãšã¯ã¹ããã€ããããªã¬ãŒãããããå¯èœæ§ããããŸããå³å¯ãªåãã§ãã¯ã¯ãç¹ã«ãããã¯ãŒã¯éä¿¡ãå ¥åæ€èšŒãããã³ããŒã¿ãã·ãªã¢ã©ã€ãŒãŒã·ã§ã³ã®å¢çã«ãããŠãå€ãã®äžè¬çãªãããã³ã°è©Šè¡ã«å¯Ÿããåºæ¬çãªéå£ãšããŠæ©èœããã²ãŒã ãšãã®ãã¬ã€ã€ãŒããŒã¹ã®äž¡æ¹ãä¿è·ããŸãã
ä¿å®æ§ãšã¹ã±ãŒã©ããªãã£ã®åäž
ã²ãŒã éçºã¯ãå€ãã®å Žåæ°å¹Žã«åã¶ååŸ©ãæŽæ°ãããã³æ¡åŒµã®ç¶ç¶çãªããã»ã¹ã§ããå€§èŠæš¡ãªã²ãŒã ãããžã§ã¯ãã«ã¯ãç°ãªãããŒã ãç°ãªãæ©èœã§åæã«äœæ¥ããããšãå«ãŸããå ŽåããããŸããå Žåã«ãã£ãŠã¯ãç°ãªãã¿ã€ã ãŸãŒã³ãæåçèæ¯ã«ãŸããã£ãŠããããšããããŸãã匷åãªåå®å šæ§ã§æ§ç¯ãããã³ãŒãããŒã¹ã¯ãæ¬è³ªçã«ããä¿å®ãããããã¹ã±ãŒã©ãã«ã§ãã
- ããæç¢ºãªå¥çŽïŒåã¯ã颿°ãã¡ãœãããããã³ã¢ãžã¥ãŒã«ã®äºæãããå ¥åãšåºåãæç€ºçã«å®çŸ©ããéçºè ãéµå®ããå¿ èŠã®ãããå¥çŽããšããŠæ©èœããŸããããã«ãããèª€è§£ãæžããäºææ§ã®ãªãã³ã³ããŒãã³ãã®ãªã¹ã¯ãæå°éã«æããããå€§èŠæš¡ã§åæ£ããããŒã å šäœã§ã®ããã¹ã ãŒãºãªã³ã©ãã¬ãŒã·ã§ã³ãä¿é²ãããŸãã
 - ããç°¡åãªãªãã¡ã¯ã¿ãªã³ã°ïŒã³ãŒããåæ§ç¯ãåå倿ŽããŸãã¯æ©èœã倿Žããå¿ èŠãããå Žåãåå®å šãªã·ã¹ãã ã¯ã倿Žã«ãã£ãŠçºçããå¯èœæ§ã®ããåé¡ãèªåçã«ãã©ã°ä»ãã§ããããããªãã¡ã¯ã¿ãªã³ã°ã®ãªã¹ã¯ã軜æžãããå¹çãåäžããŸããã³ã³ãã€ã©ã¯ã圱é¿ãåãããã¹ãŠã®é åãä¿®æ£ããããã«éçºè ãã¬ã€ãããŸãã
 - æ°ããéçºè ã®ãªã³ããŒãã£ã³ã°ïŒæ°ããããŒã ã¡ã³ããŒã¯ãåã·ã¹ãã ãããŒã¿æ§é ããããã®é¢ä¿ãããã³ãããã®äœ¿ç𿹿³ã«é¢ããæç¢ºãªããã¥ã¡ã³ããæäŸãããããããè¿ éã«ã³ãŒãããŒã¹ãçè§£ã§ããŸããããã«ãããåŠç¿æ²ç·ãšçç£æ§ãŸã§ã®æéãå€§å¹ ã«ççž®ãããŸãã
 
ãã®ä¿å®æ§ã¯ã¹ã±ãŒã©ããªãã£ã«çŽæ¥è²¢ç®ããã²ãŒã ã¹ã¿ãžãªã¯ãå°ããªå€æŽãäºæž¬äžå¯èœãªæ³¢å广ããããããæã«è² ããªããã¹ãã²ããã£ã³ãŒããã®æªå€¢ã«å±ããããšãªããããŒã ãšã²ãŒã ãæé·ãããããšãã§ããŸãã
ããé«éãªéçºãµã€ã¯ã«ïŒé説çã«ïŒ
匷åãªåä»ãã·ã¹ãã ã®åæã»ããã¢ããã¯ãæç€ºçãªå宣èšãšãã峿 Œãªã³ã³ãã€ã«ãå¿ èŠã«ãªãããããªãŒããŒããããå¢å ããããã«èŠãããããããŸããããé·æçãªå¹æã¯ãå€ãã®å Žåãå šäœçãªéçºãµã€ã¯ã«ãé«éã«ãªãããšã§ããéçºããã»ã¹ã®æ©ã段éã§ïŒã©ã³ã¿ã€ã ã§ã¯ãªãã³ã³ãã€ã«æã«ïŒãšã©ãŒããã£ããããããšã§ãéçºè ã¯ãã¬ã€ãã¹ãäžããŸãã¯ããã«æªãããšã«ããªãªãŒã¹åŸã«è¡šé¢åããããªãããŒã§æç¶çãªåé¡ã®ãããã°ã«è²»ããæéãå€§å¹ ã«ççž®ã§ããŸãããã®ããã§ã€ã«ãã¡ã¹ããã¢ãããŒãã¯ãç¡æ°ã®æéãç¯çŽããäžæºã軜æžããããŒã ããšããã©ããã®ãªããã°ã远ããããã®ã§ã¯ãªããã€ãããŒã·ã§ã³ãã³ã³ãã³ãäœæãããã³ã²ãŒã ãã¬ã€ã®æŽç·Žã«ãã£ãšéäžã§ããããã«ããŸãããã°ãä¿®æ£ããããã®ç·ã³ã¹ãã¯ãéçºãã€ãã©ã€ã³ã§çºèŠãããã®ãé ããã»ã©ææ°é¢æ°çã«å¢å ãããããåå®å šæ§ã«ããæ©ææ€åºã¯éåžžã«è²»çšå¯Ÿå¹æãé«ããªããŸãã
äžè²«ããã²ãŒã ããžãã¯
ã²ãŒã ããžãã¯ã¯ãå ¬æ£ã§é åçãªãã¬ã€ã€ãŒãšã¯ã¹ããªãšã³ã¹ã®ããã«ãäžè²«æ§ãããäºæž¬å¯èœã§ããå¿ èŠããããŸããåå®å šæ§ã¯ãèšç®ãç¶æ é·ç§»ãããã³ã²ãŒã ã·ã¹ãã éã®çžäºäœçšããèšèšã©ããã«æ£ç¢ºã«åäœããããšãä¿èšŒããŸããããšãã°ããã£ã©ã¯ã¿ãŒã®ãçµéšå€ã倿°ãåžžã«æŽæ°ã§ãããæµ®åå°æ°ç¹æ°ãŸãã¯éæ°å€ã誀ã£ãŠå²ãåœãŠãããããšããªãå Žåãã¬ãã«ã¢ããã·ã¹ãã ã¯äžè²«æ§ãããå ¬æ£ãªãŸãŸã«ãªããŸããããã¯ããã€ããŒãªççŸãããäžå ¬å¹³ããã°ããŸãã¯æªçšå¯èœãšèªèãããå¯èœæ§ãããããã¬ã€ã€ãŒã®äžæºãšä¿¡é Œã®åªå€±ã«ã€ãªããç«¶äºã®æ¿ãããã«ããã¬ã€ã€ãŒã²ãŒã ã§ã¯ç¹ã«éèŠã§ãã
ã²ãŒã ãšã³ã·ã¹ãã å šäœã®åå®å šæ§
åå®å šæ§ã¯ãã²ãŒã éçºã®åäžã®åŽé¢ã«éå®ãããŠããŸããããšã³ãžã³ã®ã³ã¢ãããŠãŒã¶ãŒçæã³ã³ãã³ããŸã§ãã€ã³ã¿ã©ã¯ãã£ããšã³ã¿ãŒãã€ã³ã¡ã³ããšã³ã·ã¹ãã ã®ãã¹ãŠã®ã¬ã€ã€ãŒã«æµžéããŠãããã²ãŒã ã®äœæãšéçšã®ããããåŽé¢ã«åœ±é¿ãäžããŠããŸãã
ã²ãŒã ãšã³ãžã³ãšããã°ã©ãã³ã°èšèª
ã²ãŒã ãšã³ãžã³ãšäž»èŠãªããã°ã©ãã³ã°èšèªã®éžæã¯ãå€ãã®å Žåããããžã§ã¯ããéå§ããåºæã®åå®å šæ§ã®ã¬ãã«ã決å®ããŸããUnityã®ãããªäººæ°ã®ãããšã³ãžã³ã¯ãäž»ã«éçãã€åŒ·ãåä»ãèšèªã§ããC#ã䜿çšããŸãããUnreal Engineã¯ãéçãã€åŒ·ãåä»ãèšèªã§ããC++ãæŽ»çšããŸãããããã®éžæã¯ãå ç¢ãªåºç€ãæäŸããŸãã
- C++ïŒã¡ã¢ãªãšåã现ããå¶åŸ¡ã§ãããããå€ãã®AAAã²ãŒã ã«ãšã£ãŠéèŠãªé«ãããã©ãŒãã³ã¹ãå®çŸã§ããŸããææ°ã®C++æ©èœïŒäŸïŒ
std::unique_ptrãstd::shared_ptrãstd::optionalãstd::variantãããã³C++20ã§å°å ¥ãããã³ã³ã»ããïŒã¯ãã³ã³ãã€ã«æã®ãã峿 Œãªãã§ãã¯ãå¯èœã«ããçãã€ã³ã¿ãšã©ãŒãnullå€ã®åŠçãªã©ã®äžè¬çãªèœãšãç©Žãæžããããšã§ãåå®å šæ§ãããã«é«ããŸãã - C#ïŒèªåã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãåãã管çãããç°å¢ãæäŸããã¡ã¢ãªãªãŒã¯ã®åé¡ã軜æžãããžã§ããªãã¯ã¹ãLINQãnull蚱容åç §åãªã©ã®æ©èœãåãã匷åã§è¡šçŸåè±ããªåã·ã¹ãã ãæäŸããåå®å šãªããŒã¿æäœãä¿é²ãããã€ã©ãŒãã¬ãŒããåæžããŸãã .NETãšã³ã·ã¹ãã ãšã®åŒ·åãªçµ±åã«ãããéåžžã«æ±çšæ§ãé«ããªããŸãã
 
JavaScriptã®ããã«åçåä»ãã«é¢é£ä»ããããŠããèšèªã§ãããéçåä»ãæ©èœã远å ããTypeScriptã®ãããªã¹ãŒããŒã»ãããéããŠãããé«åºŠãªåå®å šæ§ãå®çŸã§ããŸããããã«ãããWebããŒã¹ã®ã²ãŒã ããã€ããªããã¢ããªã±ãŒã·ã§ã³ããŸãã¯è€éãªããŒã«äœæã«ãããŠãæè»æ§ãšå ç¢æ§ã®é åçãªãã©ã³ã¹ãæäŸãããéçºè ã¯ã©ã³ã¿ã€ã åã«ãšã©ãŒããã£ããã§ããŸãã
ãããã¯ãŒã¯ãšãã«ããã¬ã€ã€ãŒã²ãŒã
ãã«ããã¬ã€ã€ãŒã²ãŒã ã«ã¯ãã¯ã©ã€ã¢ã³ããšãµãŒããŒéã§ä¿¡é Œæ§ãé«ãäžè²«ããŠããŒã¿ã亀æããå¿ èŠããã忣ã·ã¹ãã ã®è€éããå€§å¹ ã«è¿œå ãããŸããå€ãã®å Žåãåºå€§ãªå°ççè·é¢ãšããŸããŸãªãããã¯ãŒã¯æ¡ä»¶ã«ãŸããã£ãŠããŸããããã§ã¯ãåå®å šæ§ã¯æ¬¡ã®ããšãé²ãããã«æãéèŠã§ãã
- éåæåïŒã¯ã©ã€ã¢ã³ãããã¬ã€ã€ãŒã®äœçœ®ãæååãšããŠéä¿¡ãããµãŒããŒãæµ®åå°æ°ç¹æ°ã®ãã¯ãã«ãæåŸ ããŠããå ŽåããµãŒããŒã¯ããŒã¿ã誀ã£ãŠè§£éããç°ãªããã¬ã€ã€ãŒã«ç°ãªãã²ãŒã ç¶æ ïŒããšãã°ããããã¬ã€ã€ãŒãå¥ã®ãã¬ã€ã€ãŒãå¥ã®å Žæã«è¡šç€ºããïŒã衚瀺ãããå¯èœæ§ããããã²ãŒã ããã¬ã€ã§ããªããªããŸãã
 - ãããã¯ãŒã¯ãšã¯ã¹ããã€ãïŒæ»æè ã¯äžæ£ãªãã±ãããäœæããæå³çã«äºæããªãåã®ããŒã¿ãéä¿¡ããŠããµãŒããŒãã¯ã©ãã·ã¥ããããããããã¡ãŒãªãŒããŒãããŒãããªã¬ãŒãããããµãŒããŒåŽã®ã³ãŒããåŠçåã«åä¿¡ããŒã¿ã®åãå³å¯ã«æ€èšŒããªãå Žåã«ãäžåœãªå©çãåŸããããå¯èœæ§ããããŸãã
 
å ç¢ãªã·ãªã¢ã«å/ãã·ãªã¢ã©ã€ãŒãŒã·ã§ã³ãããã³ã«ïŒäŸïŒGoogleã®Protocol BuffersãFlatBuffersããŸãã¯ã«ã¹ã¿ã ãã€ããªãããã³ã«ïŒã¯ãéä¿¡ãããããŒã¿ãåä¿¡ãããããŒã¿ãšãŸã£ããåãã§ããããã¹ãŠã®åœäºè ã«ãã£ãŠæ£ããè§£éãããããšãä¿èšŒããããã«ã匷åãªåå¥çŽã§èšèšãããŠããããããã¯ãŒã¯å¢çã§éèŠãªããªããŒã¿ãŒãšããŠæ©èœããŸããããã«ãããæ¥ç¶ãããŠãããã¹ãŠã®ã¯ã©ã€ã¢ã³ããšãµãŒããŒéã§äžè²«ããã¯ãŒã«ãç¶æ ãç¶æã§ããŸãã
ModãšãŠãŒã¶ãŒçæã³ã³ãã³ãïŒUGCïŒ
å€ãã®çŸä»£ã®ã²ãŒã ã¯ãmodãšãŠãŒã¶ãŒçæã³ã³ãã³ããéããŠãã¬ã€ã€ãŒã®åµé æ§ã掻çšããŠããŸãããã ããå€éšã®ä¿¡é Œã§ããªããœãŒã¹ããã®ä»»æã®ã³ãŒããŸãã¯ããŒã¿ãèš±å¯ãããšãé倧ãªã»ãã¥ãªãã£ããã³å®å®æ§ã®ãªã¹ã¯ãçºçããŸããåå®å šã¡ã«ããºã ã¯ã次ã®ç¹ã§éèŠã§ãã
- ãµã³ãããã¯ã¹åïŒmodã³ãŒãããå®çŸ©æžã¿ã®ã€ã³ã¿ãŒãã§ã€ã¹ã®å€éšã§éèŠãªã²ãŒã ã·ã¹ãã ã«ã¢ã¯ã»ã¹ãããç Žæãããã§ããªãå®å šãªç°å¢ã«å¶éããŸããåã·ã¹ãã ã¯ããããã®å®å šãªå¢çãå®çŸ©ããã®ã«åœ¹ç«ã¡ãŸãã
 - æ€èšŒïŒãŠãŒã¶ãŒãäœæããã¢ã»ãããŸãã¯ã¹ã¯ãªããããå®çŸ©æžã¿ã®åå¥çŽãšã¹ããŒãã«æºæ ããŠããããšã確èªããŸããããšãã°ãmodãããã¹ãæååããã£ã©ã¯ã¿ãŒã®äœåå€ã«å²ãåœãŠãããšãããšãã²ãŒã ãšã³ãžã³ã«ãã£ãŠæåŠãããããæ£åžžã«åŠçãããã¯ã©ãã·ã¥ãé²ãå¿ èŠããããŸãã
 - APIã®äžè²«æ§ïŒmodderã«æç¢ºãªåå®å šãªAPIãæäŸããããšã§ãã²ãŒã ãäžå®å®ã«ããããšãªãæ¡åŒµã§ããŸããå€ãã®å Žåmodã«äœ¿çšãããLuaã®ãããªèšèªã¯ãã«ã¹ã¿ã ã©ã³ã¿ã€ã åãã§ãã¯ãã¹ããŒãæ€èšŒããŸãã¯ããã¯ã€ããªã¹ããã¢ãããŒãã§æ¡åŒµããŠãåçåä»ãã®ãªã¹ã¯ã軜æžããæå¹ãªæäœã®ã¿ãå®è¡ãããããã«ããããšãã§ããŸãã
 
ããŒã¿ã®ã·ãªã¢ã«åãšãã·ãªã¢ã«å
ã²ãŒã ã®é²è¡ç¶æ³ã®ä¿åãã¢ã»ããã®ããŒããå€éšãµãŒãã¹ïŒãªãŒããŒããŒããå®çžŸã·ã¹ãã ãªã©ïŒãšã®éä¿¡ãããã³ããã»ã¹ééä¿¡ã«ã¯ããã¹ãŠã€ã³ã¡ã¢ãªããŒã¿æ§é ãæ°žç¶çãªåœ¢åŒïŒã·ãªã¢ã«åïŒã«å€æããåã³å€æããïŒãã·ãªã¢ã«åïŒããšãå«ãŸããŸããããã§ã®åå®å šæ§ã¯ã次ã®ããšãä¿èšŒããŸãã
- ããŒã¿ã®æŽåæ§ïŒä¿åãããã²ãŒã ãã¡ã€ã«ã¯ãããŒãããããšãããŒã¿ã®ç Žæã誀解éãªãã«ã²ãŒã ã®ç¶æ ãæ£ç¢ºã«åæ§ç¯ããŸãããã£ã©ã¯ã¿ãŒã®ã€ã³ãã³ããªãã¢ã€ãã IDïŒæŽæ°ïŒã®ãªã¹ããæåŸ ããŠãããããã·ãªã¢ã«åãæååãæ¿å ¥ããããšããå Žåãã²ãŒã ã®ç¶æ ã¯å埩äžèœã«ãªãããç Žæããå¯èœæ§ããããŸãã
 - ããŒãžã§ã³ã®äºææ§ïŒã²ãŒã ã®æ©èœãé²åããã«ã€ããŠãåºã«ãªãããŒã¿æ§é ã¯ãã°ãã°å€åããŸããåãèªèããã·ãªã¢ã«å圢åŒãšã©ã€ãã©ãªã¯ãæªç¥ã®ãã£ãŒã«ããç¡èŠããããããã©ã«ãå€ã䜿çšãããããããšã§ããããã®å€æŽãæ£åžžã«åŠçããå€ãã»ãŒããã¡ã€ã«ããããã¯ãŒã¯ã¡ãã»ãŒãžãèªã¿åãäžèœã«ãªã£ãããã²ãŒã ãã¯ã©ãã·ã¥ãããããã®ãé²ãããšãã§ããŸãã
 
ããŒã¿ã·ãªã¢ã«åã®ããã®å³å¯ãªã¹ããŒãïŒäŸïŒJSON SchemaãXML SchemaããŸãã¯åãèªèãããã€ããªã·ãªã¢ã©ã€ã¶ãŒïŒãé©çšããããŒã«ãšã©ã€ãã©ãªã¯ãããŸããŸãªããŒãžã§ã³ãšã·ã¹ãã éã§ããŒã¿ã®æŽåæ§ãç¶æããããã«éåžžã«è²Žéã§ãã
ã¢ã»ãã管ç
ã²ãŒã ã¯ãé«è§£å床ã®ãã¯ã¹ãã£ãè€éãª3Dã¢ãã«ãè€éãªãµãŠã³ããã¡ã€ã«ãæŽç·Žãããã¢ãã¡ãŒã·ã§ã³ãªã©ãèšå€§ãªæ°ã®ããžã¿ã«ã¢ã»ããã«äŸåããŠããŸããæ£ããã¿ã€ãã®ã¢ã»ãããããŒããããé©åãªã³ã³ããã¹ãã§äœ¿çšãããŠããããšã確èªããããšãéèŠã§ããããšãã°ããã¯ã¹ãã£ãäºæãããå Žæã«ãµãŠã³ããã¡ã€ã«ãããŒãããããšãããšãã©ã³ã¿ã€ã ãšã©ãŒãèŠèŠçãªã°ãªããããŸãã¯ã¯ã©ãã·ã¥ãçºçããå¯èœæ§ããããŸããææ°ã®ã¢ã»ãããã€ãã©ã€ã³ã«ã¯ãã¢ã»ããã¿ã€ããæ€èšŒããã²ãŒã ã³ãŒãå ã§äºæãããäœ¿çšæ³ãšäžèŽããããšã確èªããããã®æç€ºçãªåãã§ãã¯ãšã¡ã¿ããŒã¿æ€èšŒãçµã¿èŸŒãŸããŠããããšããããããŸããããã«ããããã®ãããªãã¹ãããããä¿è·ããããã£ã©ã¯ã¿ãŒã¢ãã«ã鳿¥œãã©ãã¯ã§ã¯ãªããã¯ã¹ãã£ãåãåããèŠèŠçããã³èŽèŠçãªäžè²«æ§ãšå®å®æ§ãç¶æãããŸãã
åå®å šæ§ãå®è£ ããããã®å®è·µçãªæŠç¥
é«åºŠãªåå®å šæ§ãå®çŸããã«ã¯ãã²ãŒã éçºã©ã€ããµã€ã¯ã«å šäœãéããŠæèçãã€ç©æ¥µçãªã¢ãããŒããå¿ èŠã§ãããããã®å®è¡å¯èœãªæŠç¥ã¯ãã²ãŒã éçºããŒã ãèŠæš¡ããããžã§ã¯ãã®èŠæš¡ã«é¢ä¿ãªããã°ããŒãã«ã«æ¡çšã§ããŸãã
1. åå®å šãªèšèªãšãã¬ãŒã ã¯ãŒã¯ãæ éã«éžæãã
ã³ã¢ã²ãŒã ããžãã¯ã«ã¯ã匷åãªéçåä»ãã§ç¥ãããèšèªãåªå ããŸããã»ãšãã©ã®AAAããã³å€ãã®èŠæ±ã®å³ããã€ã³ãã£ãŒã²ãŒã éçºã§ã¯ãC++ãšC#ã¯æ£åœãªçç±ã§äŸç¶ãšããŠåªå¢ã§ããWebããŒã¹ã®ã²ãŒã ãUIããŸãã¯ç¹å®ã®ããŒã«äœæã®å ŽåãTypeScriptã¯ãã¬ãŒã³ãªJavaScriptãããå€§å¹ ãªã¢ããã°ã¬ãŒããæäŸããŸããã²ãŒã ãšã³ãžã³ã®æ©èœãã¹ã¯ãªããèšèªãããã³èšèªçµ±åãè©äŸ¡ããŠãããããæ¬è³ªçã«åå®å šæ§ã®ç®æšããµããŒãããåªããããŒã«ãæäŸããŠããããšã確èªããŸããããã©ãŒãã³ã¹ãéèŠãªã·ã¹ãã ã«ã¯é«åºŠã«åå®å šãªèšèªã䜿çšããæè»ãªã¹ã¯ãªããã«ã¯åçåä»ãèšèªã䜿çšãããªã©ããã€ããªããã¢ãããŒããæ€èšããåžžã«å¢çã§å ç¢ãªåãã§ãã¯ãè¡ããŸãã
2. ææ°ã®èšèªæ©èœãå©çšããŠå®å šæ§ãåäžããã
éžæããèšèªã®ææ°æ©èœãåžžã«ææ°ã®ç¶æ
ã«ä¿ã¡ãç©æ¥µçã«æŽ»çšããŠãã ãããææ°ã®C++ïŒC++11ãC++14ãC++17ãC++20以éïŒã«ã¯ãstd::optionalïŒnull蚱容å€ã®å ŽåïŒãstd::variantïŒåå®å
šãªå
±çšäœã®å ŽåïŒãstd::unique_ptrããã³std::shared_ptrïŒèªåã¡ã¢ãªç®¡çã®å ŽåïŒãããã³ã³ã³ã»ããïŒã³ã³ãã€ã«æã®ã€ã³ã¿ãŒãã§ã€ã¹åŒ·å¶ã®å ŽåïŒãªã©ã®åŒ·åãªæ©èœãå°å
¥ãããŠãããåå®å
šæ§ã倧å¹
ã«åäžããçãã€ã³ã¿ããããŸããªåã«é¢é£ããäžè¬çãªãšã©ãŒãæžå°ããŸããåæ§ã«ãC#ã¯ãnull蚱容åç
§åãã¬ã³ãŒãåãããã³ãã¿ãŒã³ãããã³ã°ãªã©ã®æ©èœã䜿çšããŠé²åãç¶ããããå®å
šã§è¡šçŸåè±ããªã³ãŒãã£ã³ã°ãã¿ãŒã³ãä¿é²ããŸãã
3. éçåæããŒã«ãå®è£ ããCI/CDã«çµ±åãã
ãªã³ã¿ãŒãéçã¢ãã©ã€ã¶ãŒïŒäŸïŒC++ã®å Žåã¯PVS-StudioãSonarQubeãClang-TidyãC#ã®å Žåã¯ResharperïŒãããã³ã³ãŒãå質ããŒã«ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³/ç¶ç¶çãããã€ã¡ã³ãïŒCI/CDïŒãã€ãã©ã€ã³ã«çµ±åããŸãããããã®ããŒã«ã¯ãã³ãŒããã³ã³ãã€ã«ãŸãã¯å®è¡ãããåã«ãæœåšçãªåãã¹ããããäžè¬çãªããã°ã©ãã³ã°ãšã©ãŒãã³ãŒãã£ã³ã°æšæºã®éåãããã«ã¯åŸ®åŠãªããžãã¯ã®æ¬ é¥ãèªåçã«æ€åºã§ããŸããããã«ãããéçºããã»ã¹ã§ãšã©ãŒæ€åºãå€§å¹ ã«ãå·Šãã«ã·ãããããããã°æéãå€§å¹ ã«ç¯çŽããåé¡ã®ãšã¹ã«ã¬ãŒããé²ããå質ã«å¯Ÿãããªã¢ã¯ãã£ããªã¢ãããŒãã§ã¯ãªããäºé²çãªã¢ãããŒããä¿é²ããŸãã
4. å ç¢ãªãã¹ãæ¹æ³è«ãæ¡çšãã
éçåãã§ãã¯ãè£å®ããã«ã¯ãå æ¬çãªãã¹ããäžå¯æ¬ ã§ããéçåä»ãã¯å€ãã®ãšã©ãŒããã£ããããŸãããç¹ã«å€éšå ¥åãè€éãªçžäºäœçšãæ±ãå Žåããã¹ãŠã®è«çãŸãã¯ã©ã³ã¿ã€ã ã®ãšããžã±ãŒã¹ãã«ããŒããããã§ã¯ãããŸããã
- åäœãã¹ãïŒåã ã®é¢æ°ãã¯ã©ã¹ãããã³ã³ã³ããŒãã³ãã®è©³çްãªãã¹ããäœæããããŸããŸãªå ¥åã¿ã€ãïŒæå¹ãç¡å¹ããšããžã±ãŒã¹ïŒã§æ£ããåäœããããšã確èªããŸãããããã®ãã¹ãã§ã¯ãåé¢é£ã®ä»®å®ãšãšã©ãŒåŠçãç¹ã«æ€èšŒããå¿ èŠããããŸãã
 - çµ±åãã¹ãïŒããŸããŸãªã¢ãžã¥ãŒã«ãšã·ã¹ãã ãæ£ããçžäºäœçšããããšã確èªããå¢çãè¶ããããŒã¿äº€æã¿ã€ãã«çްå¿ã®æ³šæãæããŸããããã¯ããããã¯ãŒãã³ã°ãç©çãšã³ãžã³ããŸãã¯AIã®ãããªè€éãªã·ã¹ãã ã§ã¯ç¹ã«éèŠã§ãã
 - èªååãããUIãã¹ãïŒçŽæ¥åã«çŠç¹ãåœãŠãŠããŸãããããããã¯ãèŠèŠçã«ããŸãã¯äºæããªããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã®åäœãéããŠçŸãããåºã«ãªãåãšã©ãŒã«ãã£ãŠåŒãèµ·ããããåé¡ã鿥çã«æããã«ããå¯èœæ§ããããŸãã
 - ããããã£ããŒã¹ã®ãã¹ãïŒé¢æ°ã«åºç¯å²ã®ã©ã³ãã ãªæå¹ãªå ¥åãçæããåºåãç¹å®ã®ããããã£ãŸãã¯äžå€æ¡ä»¶ãç¶æããããšã確èªããŸããããã«ãããåºå®ãããäŸã§ã¯èŠéãããå¯èœæ§ã®ãã埮åŠãªåé¢é£ã®åé¡ãæããã«ããããšãã§ããŸãã
 
5. 培åºçãªã³ãŒãã¬ãã¥ãŒã宿œãã
ã³ãŒãã¬ãã¥ãŒã¯ãåãšã©ãŒããã®ä»ã®å質åé¡ã«å¯Ÿãã貎éãªäººéã®é²åŸ¡å±€ã§ãããã¢ã¬ãã¥ãŒã»ãã·ã§ã³ã¯ãçµéšè±å¯ãªéçºè ããèªååããŒã«ãèŠéãå¯èœæ§ã®ããæœåšçãªååé¡ãããžãã¯ãšã©ãŒãããã©ãŒãã³ã¹ã®ããã«ããã¯ãããã³ã¢ã³ããã¿ãŒã³ãç¹å®ããæ©äŒãæäŸããŸãã建èšçãªãã£ãŒãããã¯ãç¥èã®å ±æãããã³ç¢ºç«ãããã³ãŒãã£ã³ã°èŠåãšåå®å šæ§ã®ååã®éµå®ã奚å±ããŠãããŒã å ã®å šäœçãªã³ãŒãå質ãšåèªèãé«ããŸããããã¯ãéèŠãªç¥è移転ã¡ã«ããºã ãšããŠãæ©èœããŸãã
6. 匷åãªAPIã³ã³ãã©ã¯ããšã€ã³ã¿ãŒãã§ã€ã¹ãå®çŸ©ãã
ã¢ãžã¥ãŒã«ãã²ãŒã ã·ã¹ãã ããŸãã¯å€éšçµ±åã®APIïŒã¢ããªã±ãŒã·ã§ã³ããã°ã©ãã³ã°ã€ã³ã¿ãŒãã§ã€ã¹ïŒãèšèšããå Žåã¯ããã¹ãŠã®ãã©ã¡ãŒã¿ãŒãæ»ãå€ãããã³ããŒã¿æ§é ã«å¯ŸããŠäºæãããããŒã¿åãæç€ºçã«å®çŸ©ããŸãããããã®ã³ã³ãã©ã¯ãã匷å¶ããããã«ãå¿ èŠã«å¿ããŠã€ã³ã¿ãŒãã§ã€ã¹ãŸãã¯æœè±¡ã¯ã©ã¹ã䜿çšããŸããããã«ãããAPIãšçžäºäœçšããã³ã³ããŒãã³ãã¯ãéä¿¡ããã³åä¿¡ããããŒã¿ãæ£ç¢ºã«ææ¡ããåé¢é£ã®ãšã©ãŒãæå°éã«æããã²ãŒã ã·ã¹ãã éã®ççµåãä¿é²ããŸãããããã®ã³ã³ãã©ã¯ãã®æç¢ºãªããã¥ã¡ã³ãã¯ãç¹ã«å€§èŠæš¡ãªåæ£ããŒã ã§ã¯åæ§ã«éèŠã§ãã
7. ã©ã³ã¿ã€ã åãã§ãã¯ãæŠç¥çã«äœ¿çšããïŒåçèšèªãŸãã¯å€éšããŒã¿ã®å ŽåïŒ
éçåä»ããæšå¥šãããŸãããåçèšèªããã³å€éšã®ä¿¡é Œã§ããªãããŒã¿ïŒäŸïŒãã¬ã€ã€ãŒããã®ãããã¯ãŒã¯å ¥åããŠãŒã¶ãŒçæã³ã³ãã³ããæ§æãã¡ã€ã«ãmodã¹ã¯ãªããïŒãåŠçããã·ã¹ãã ã§ã¯ãå ç¢ãªã©ã³ã¿ã€ã åãã§ãã¯ãå¿ èŠã«ãªãå ŽåããããŸããã·ã¹ãã å¢çã«åŒ·åãªæ€èšŒã¬ã€ã€ãŒãå®è£ ããŠãåä¿¡ããŒã¿ãã³ã¢ã²ãŒã ããžãã¯ã«ãã£ãŠåŠçãããåã«ãäºæãããåãšç¯å²ã«æºæ ããŠããããšã確èªããŸããããã«ã¯ãæç€ºçãªåã¢ãµãŒã·ã§ã³ãããŒã¿æ€èšŒã©ã€ãã©ãªãã¹ããŒã匷å¶ïŒäŸïŒJSONãŸãã¯XMLããŒã¿ã®å ŽåïŒããŸãã¯å³å¯ãªãšã©ãŒåŠçã«ãããã·ãªã¢ã«åãå«ãŸããå ŽåããããŸããããã¯éèŠãªã»ãã¥ãªãã£å¯Ÿçã§ãã
8. åã®ä»®å®ãšèŠåãææžåãã
éèŠãªããŒã¿æ§é ãåæåãå䜿çšèŠåãããã³è€éãªåã®çžäºäœçšã«é¢ããæç¢ºã§ã¢ã¯ã»ã¹å¯èœãªããã¥ã¡ã³ããç¶æããŸããããã«ãããçŸåšã®ããŒã ã¡ã³ããŒãšå°æ¥ã®ã³ã³ããªãã¥ãŒã¿ãŒã®äž¡æ¹ããèšèšã®éžæãçè§£ãããã¹ããã©ã¯ãã£ã¹ãéµå®ããå€§èŠæš¡ã§é²åããã³ãŒãããŒã¹ã®åã®ç¶æ³ããã°ããææ¡ããã®ã«åœ¹ç«ã¡ãŸããã³ãŒãã¢ãããŒã·ã§ã³ããAPIããã¥ã¡ã³ããçæããããŒã«ã¯ãããã¥ã¡ã³ããã³ãŒãèªäœãšåæããŠããããšã確èªãããããããã§éåžžã«åœ¹ç«ã¡ãŸãã
ã€ã³ã¿ã©ã¯ãã£ããšã³ã¿ãŒãã€ã³ã¡ã³ãã«ãããåå®å šæ§ã®æªæ¥
ã²ãŒã ããŸããŸãè€éã«ãªãã倿°ã®ãã©ãããã©ãŒã ãšã°ããŒãã«åžå Žå šäœã§ããé«ãã¬ãã«ã®ããã©ãŒãã³ã¹ãå®å®æ§ãããã³ã»ãã¥ãªãã£ãæ±ããããã«ã€ããŠãåå®å šæ§ã®éèŠæ§ã¯é«ãŸãã°ããã§ããããã€ãã®ãã¬ã³ãã¯ããã®ç¶ç¶çãªé²åãšã²ãŒã éçºãã©ã¯ãã£ã¹ãžã®ããæ·±ãçµ±åã瀺ããŠããŸãã
- èšèªã®é²åãšæ¡çšïŒããã°ã©ãã³ã°èšèªã¯é²åãç¶ããåå®å šæ§ã匷å¶ããããã®ããæŽç·Žããã人éå·¥åŠçãªæ¹æ³ãæäŸããŸãã確ç«ãããèšèªã®æ°ããæ©èœïŒC++ã®ã¢ãžã¥ãŒã«ãšã³ã³ã»ããã®ããåºç¯ãªæ¡çšããŸãã¯C#ã®é«åºŠãªåæšè«ãšãã¿ãŒã³ãããã³ã°ãªã©ïŒã¯ãåå®å šã§è¡šçŸåè±ããªã³ãŒãã®äœæãåçåããŸããããã«ãã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãªãã§ã¡ã¢ãªãšåå®å šæ§ã匷ãéèŠããRustã®ãããªèšèªã¯ãã·ã¹ãã ã¬ãã«ã®ããã°ã©ãã³ã°ã§å¢ããå¢ããŠããã絶察çãªä¿¡é Œæ§ãšããã©ãŒãã³ã¹ãæãéèŠãªç¹æ®ãªã²ãŒã éçºåéã§ã®æ¡çšãå¢å ããå¯èœæ§ããããŸãã
 - AIæ¯æŽéçºã®åºçŸïŒäººå·¥ç¥èœã𿩿¢°åŠç¿ããŒã«ã¯ãã³ãŒãçæããªãã¡ã¯ã¿ãªã³ã°ãããã³ãã°æ€åºãæ¯æŽããããã«ãŸããŸã䜿çšãããŠããŸãããããã®ããŒã«ã¯ãåé¢é£ã®ãšã©ãŒãèªèããŠä¿®æ£ãææ¡ããããæœåšçãªåè匱æ§ã«ã€ããŠã³ãŒããåæããããåã¢ãããŒã·ã§ã³ããã¹ããèªåçã«çæãããããããã«ãã¬ãŒãã³ã°ã§ããŸããããã«ãããéçºãå éãããå質ãåäžããŸãã
 - Web3ãšãããã¯ãã§ãŒã³ã²ãŒã ïŒã²ãŒã ã«ãããWeb3ãšãããã¯ãã§ãŒã³ãã¯ãããžãŒã®åºçŸã¯ãããžã¿ã«æææš©ãæ€èšŒå¯èœãªã²ãŒã ããžãã¯ãããã³åæ£åã·ã¹ãã ã®ããã®æ°ãããã©ãã€ã ãå°å ¥ããŸããåå®å šæ§ã¯ãã¹ããŒãã³ã³ãã©ã¯ãããã©ã³ã¶ã¯ã·ã§ã³ãããã³æ€èšŒå¯èœãªã²ãŒã ã®ç¶æ ã®æŽåæ§ãä¿èšŒããããã«ããããã®ç°å¢ã§ã¯ããã«éèŠã«ãªããŸããããããªäžäžèŽãåã®äžäžèŽã§ããããã¬ã€ã€ãŒãšéçºè ã«ãšã£ãŠé倧ãªçµæžçããã³ä¿¡é Œäžã®æå³ãæã€å¯èœæ§ããããŸããæç€ºçã§äžå€ã®åå®çŸ©ã¯ããã§åºæ¬çã§ãã
 - CI/CDãã€ãã©ã€ã³ã«ãããèªååã®åŒ·åïŒéçåæãèªååãããåäœãã¹ããšçµ±åãã¹ããããã³åãèªèãããããã€ã¡ã³ããã§ãã¯ã®çµ±åã¯ãããã«æŽç·ŽããããŠããã¿ã¹ã«ãªããŸããããã«ãããåãšã©ãŒããããŸã§ä»¥äžã«æ©æã«ãã£ãããããŠå¯ŸåŠããããã¬ã€ã€ãŒã«ãã°ãå°éãããªã¹ã¯ã軜æžãããå šäœçãªãªãªãŒã¹é床ãšä¿¡é Œæ§ãåäžããŸãã
 - çµã¿èŸŒã¿ã®åå®å šæ§ãæã€ãã¡ã€ã³åºæèšèªïŒDSLïŒïŒç¹å®ã®ã²ãŒã ã·ã¹ãã ïŒäŸïŒã¯ãšã¹ããã¶ã€ã³ã察話ããªãŒãAIåäœïŒã®å Žåãã¹ã¿ãžãªã¯ããã®ãã¡ã€ã³ã®åºæã®ããŒã¿åãšæäœã«åãããŠãåå®å šæ§ã念é ã«çœ®ããŠç¹å¥ã«èšèšãããDSLãæŽ»çšãŸãã¯éçºããããšãå¢ããå¯èœæ§ããããã³ã³ãã³ãäœæè ã«ãšã£ãŠéåžžã«ä¿¡é Œæ§ã®é«ãããŒã«ãæäŸããŸãã
 
çµè«ïŒã°ããŒãã«ãªã²ãŒã ã®åè¶æ§ã®åºç€
ã€ã³ã¿ã©ã¯ãã£ããšã³ã¿ãŒãã€ã³ã¡ã³ãã®åå®å šæ§ã¯ãåãªãæè¡çãªè©³çްãåŠè¡çãªæŒç¿ã§ã¯ãããŸãããããã¯ãã°ããŒãã«ãªèŠèŽè åãã®å ç¢ã§å®å šã§æ¥œããã²ãŒã ã®éçºãæ¯ããåºæ¬çãªå²åŠã§ãã匷åãªåä»ããéçåæã峿 Œãªãã¹ããæ¡çšããã³ãŒãåè³ªã®æåãè²æããããšã«ãããã²ãŒã éçºããŒã ã¯ãã°ãå€§å¹ ã«æžãããæªæã®ããæ»æè ã«å¯Ÿããã»ãã¥ãªãã£ã匷åããé·æçãªä¿å®æ§ãåäžãããæçµçã«ã¯æã®è©Šç·Žã«èããèŠæš¡ãæ¡å€§ããåªããã€ã³ã¿ã©ã¯ãã£ããšã¯ã¹ããªãšã³ã¹ãæäŸã§ããŸãã
ãããåžå Žã§é©æ°çãªæå°ã®ã€ã³ãã£ãŒãºã¹ã¿ãžãªãããåºå€§ãªäžçãåµé ããæå€§ã®AAAãããªãã·ã£ãŒãŸã§ãåå®å šæ§ãåªå ããããšã§ãéçºè ã¯èªä¿¡ãæã£ãŠæ§ç¯ããèªç±ã«é©æ°ãããšããã©ããã®ãªããã°ã远ããããæéãççž®ã§ããŸããããã«ãããä»®æ³äžçã®è€éãªã·ã¹ãã ã調åããŠæ©èœãããã©ãããã©ãŒã ããã¬ã€ã€ãŒã®å Žæã«é¢ä¿ãªããã€ã³ã¿ã©ã¯ãã£ããšã³ã¿ãŒãã€ã³ã¡ã³ãã®éæ³ãå£ããªãããã«ããããšãã§ããŸããã²ãŒã æ¥çãæ¥éã«çºå±ãç¶ããã«ã€ããŠãã€ã³ã¿ã©ã¯ãã£ããšã³ã¿ãŒãã€ã³ã¡ã³ãã®åå®å šæ§ãžã®ç¢ºåºããã³ãããã¡ã³ãã¯åè¶æ§ã®èšŒãšãªããäžçäžã®ãã¬ã€ã€ãŒã«ãšã£ãŠãããå®å®ããå®å šã§é åçãªæªæ¥ãžãšç§ãã¡ãæšé²ããŸãããã®ç®èº«ã¯ãç§ãã¡ãåµé ããä»®æ³äžçãæ³ååè±ãã§ãããšåæã«ä¿¡é Œã§ãããã®ã§ããããšãä¿èšŒããŸãã